package com.shrct.businessprocess.product;

import com.shrct.businessprocess.organization.RCEnterprise;
import com.shrct.businessprocess.product.RCProductPurchaseInfo;
import com.shrct.businessprocess.product.RCProductSpecification;
import com.shrct.businessprocess.product.impl.RCProductPurchaseInfoCriteriaImpl;
import edu.fudan.mylang.pf.query.IPagedCriteria;
import edu.fudan.mylang.pf.query.QueryImplementation;
import java.util.Date;

@QueryImplementation(implementBy = RCProductPurchaseInfoCriteriaImpl.class)
public interface RCProductPurchaseInfoCriteria extends IPagedCriteria<RCProductPurchaseInfo> {
  public abstract RCEnterprise getEnterprise();
  
  public abstract RCProductPurchaseInfoCriteria setEnterprise(final RCEnterprise enterprise);
  
  public abstract RCProductSpecification getProductSpec();
  
  public abstract RCProductPurchaseInfoCriteria setProductSpec(final RCProductSpecification productSpec);
  
  public abstract Date getInStockDateFrom();
  
  public abstract RCProductPurchaseInfoCriteria setInStockDateFrom(final Date inStockDateFrom);
  
  public abstract Date getInStockDateTo();
  
  public abstract RCProductPurchaseInfoCriteria setInStockDateTo(final Date inStockDateTo);
  
  public abstract Date getDeliverDateFrom();
  
  public abstract RCProductPurchaseInfoCriteria setDeliverDateFrom(final Date deliverDateFrom);
  
  public abstract Date getDeliverDateTo();
  
  public abstract RCProductPurchaseInfoCriteria setDeliverDateTo(final Date deliverDateTo);
  
  public abstract Boolean getReady4DeliverOnly();
  
  public abstract RCProductPurchaseInfoCriteria setReady4DeliverOnly(final Boolean ready4DeliverOnly);
  
  public abstract void postInitialize();
}
